export default class Request {
    http(param) {
		let contacturl = "http://localhost:5000"
        let requestUrl =contacturl+ param.url;
        let method = param.method;
        let header = param.header || {};
        let data = Object.assign(param.data || {});
        let hideLoading = param.hideLoading || false;
		
		// if (method) {
		//     if (method == "POST") {
		//         header = Object.assign({
		//             'content-type': "application/x-www-form-urlencoded",
		// 			'Access-Control-Allow-Origin':"*"
		//         }, param.header)
		//     } else {
		//         header = Object.assign({
		//             'content-type': "application/json",
		// 			'Access-Control-Allow-Origin':"*"
		//         }, param.header)
		//     }
		// }
		
		if (!hideLoading) {
		    uni.showLoading()
		}
		
		return new Promise((resolve, reject) => {
		    uni.request({
		        url: requestUrl,
		        data: data,
		        method: method,
		        header: header,
		        success: (res) => {
					if (!hideLoading) {
					    uni.hideLoading();
					}
					if(res.data.code === 200){
					    resolve(res.data)
					    return true
					} else {
					    if(res.data.code === -1){
					        // 这里是由于token过期导致的错误码
					        // 可以直接跳转到login页面，也可以直接刷新token
					        uni.navigateTo({
					            url: '/pages/login/login'
					        })
					    }
					    // 其他错误时，直接通过toast提示
					    uni.showToast({
					        title:res.data.msg,
					        icon:'none'
					    })
					    return false;
					}
		        },
		        fail: (err) => {
		           if (!hideLoading) {
		               uni.hideLoading();
		           }
		           return false;
		        },
		    })
		})
    }
}